home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac: Not for Sale / Another.not.for.sale (Australia).iso / hold me in your arms / Virtual-Worlds / commercial / Genesis-WTK < prev    next >
Internet Message Format  |  1994-03-24  |  10KB

  1. From john@presence.demon.co.uk Fri Mar 25 07:38:55 PST 1994
  2. Article: 11280 of sci.virtual-worlds
  3. Path: news.u.washington.edu!scivw
  4. From: John Hough <john@presence.demon.co.uk>
  5. Newsgroups: sci.virtual-worlds
  6. Subject: NEW-PROD: Prototype Tool for WorldToolKit
  7. Date: 23 Mar 1994 15:53:54 GMT
  8. Organization: Virtual Presence
  9. Lines: 291
  10. Approved: scivw@u.washington.edu
  11. Distribution: world
  12. Message-ID: <2mpomi$ll5@news.u.washington.edu>
  13. Reply-To: john@presence.demon.co.uk
  14. NNTP-Posting-Host: stein.u.washington.edu
  15. Originator: scivw@stein2.u.washington.edu
  16.  
  17.  
  18.  
  19. ****************************************************************
  20. *                                                              *
  21. *                                                              *
  22. *             Virtual Presence Ltd Presents :                  *
  23. *                                                              *
  24. *                                                              *
  25. *                  GENESIS World Builder                       *
  26. *                                                              *
  27. *                                                              *
  28. *     Interactive Environment Prototyping For WorldToolKit     *
  29. *                                                              *
  30. *                                                              *
  31. ****************************************************************
  32.  
  33. **
  34. **    Realtime manipulation of Objects, Polygons, Lights, Sensors,
  35. **    Paths and much more.
  36.  
  37. **
  38. **    Available now on all platforms supported by Sense8's WorldToolKit.
  39. **
  40.  
  41. **
  42. **    Menu driven user interface.
  43. **
  44.  
  45. **
  46. **    Sophisticated environment loading and saving.
  47. **
  48.  
  49. **
  50. **    Full environment import for WorldToolKit applications.
  51. **
  52.  
  53.  
  54.  
  55. Interactive Environment Prototyping from Virtual Presence
  56.  
  57.  If you're planning to develop VR software using the power and flexibility
  58.  of WorldToolKit, then you'll be pleased to hear that WTK now has a
  59.  'friendly front end'. Genesis allows you to create and then integrate
  60.  sophisticated virtual environments into your WTK applications.
  61.  This reduces development time and allows effort to be cut by up to 80%.
  62.  
  63.  Genesis is an interactive prototyping tool. It gives you precise control
  64.  over the labour intensive, and often complex, tasks involved in building
  65.  virtual worlds. Environments can be easily saved, allowing you to either
  66.  continue working at a later date, or import them into your WTK applications.
  67.  
  68.  
  69.  
  70. Environments
  71.  
  72.   Genesis is unique: it allows the user to create and save virtual
  73.   environments. The editor's own file format, '.gen', contains all the
  74.   information required to reconstruct it. For example, if an environment
  75.   is saved whilst a path is playing with constraints turned on, it will be
  76.   reloaded with the path playing just as it was when saved.
  77.  
  78.   The environment can be saved at any time during the development process.
  79.   Several '.gen' files can be merged together; for example, it is  possible
  80.   to overlay a previously created lighting model on top of the environment
  81.   being constructed.
  82.  
  83.  
  84. Sensors
  85.  
  86.  Genesis supports the full range of sensor drivers provided by WTK. These
  87.  can either be used for manipulating the viewpoint or graphical entities
  88.  within the Genesis editor. Objects and icons can be selected using a mouse,
  89.  allowing them to be manipulated using a specified sensor. Sensor sensitivity
  90.  can be rescaled and constrained.
  91.  
  92.  
  93. Graphical objects
  94.  
  95.  Genesis allows both the importation of 3D objects (file formats supported
  96.  include .dxf, .nff, .obj, .3ds and more)  and the creation of new primitive
  97.  objects. There is full support for the standard WTK attribute functions,
  98.  which allow the user to interactively control an object's colour, texture,
  99.  scale, position and orientation. The editor also provides advanced functins
  100.  such as merging graphical objects together and interactively  setting
  101.  pivot points and local axes, and building complex hierarchies. Selective
  102.  copying allows the user to create reduced level-of-detail and trimesh
  103.  models. Manipulation of objects may be done with a standard sensor;
  104.  alternatively users may specify a translation or rotational constant to
  105.  be applied in X,Y or Z co-ordinates in any WTK Frame.
  106.  
  107.  
  108. Polygons
  109.  
  110.  Individual polygon and group selection is supported by Genesis allowing
  111.  complete control over specific polygon attributes. Polygon colour and
  112.  textures can be interactively controlled via the editor. Advanced features
  113.  such as individual polygon deletion from objects, flat/gouraud shading,
  114.  single/double sided and inside out may also be applied to single or
  115.  grouped polygons, giving the developer a high degree of control over
  116.  imported geometry.
  117.  
  118.  
  119.  Lights
  120.  
  121.  The Genesis editor provides the developer full control over the lighting
  122.  of their virtual environment. The number, intensity, position and
  123.  orientation of WTK lights can be manipulated in real time from within
  124.  Genesis. Lights are represented as icons and can be selected and
  125.  manipulated in the same way as other genesis objects and icons.
  126.  
  127.  
  128. Pathing
  129.  
  130.  Genesis supports the complete WTK path functionality. Multiple paths can be
  131.  created and manipulated. Path nodes are represented as node icons and their
  132.  position and orientation can be adjusted in the same way as graphical
  133.  objects. All the WTK supported forms of interpolation between node points
  134.  are provided, along with extensive node editing and path play facilities.
  135.  These include control over the visibility of the path, play direction
  136.  and speed, plus sequential stepping through the path nodes.
  137.  
  138.  
  139. Viewpoints
  140.  
  141.  Genesis gives the user access to all the WTK supported rendering modes
  142.  such as wireframe, gouraud shading and texture options. The viewpoint can
  143.  be manipulated via any of the available sensor drivers, and the viewing
  144.  angle and aspect ratio altered from within the editor. Selected objects
  145.  can be 'zoomed' into view and the interface also includes a 'zoomall'
  146.  function. Viewpoint constraints are also supported.
  147.  
  148.  
  149. Information
  150.  
  151.  Genesis provides extensive information and environment data. Details of all
  152.  entities supported by Genesis are available from within the editor. For
  153.  example, information on the extents, filename, number of polygons and
  154.  vertices, position and orientation of a graphical object are all easily
  155.  obtained from the Genesis help systems.
  156.  
  157.  
  158. Application interfacing
  159.  
  160.  To create an application which integrates an environment built using
  161.  Genesis, simply compile the GENiface library with the application code and
  162.  call the function GENiface_load.
  163.  
  164. Example code illustrating the use of the Genesis interface calls:
  165.  
  166.  
  167. /* Standard WTK header files */
  168. #include "wt.h"
  169. #include "geniface.h"
  170.  
  171. int main()
  172. {
  173.  WTobject *object;
  174.  
  175.  /* Intialise universe */
  176.  WTuniverse_new(WTDISPLAY_DEFAULT,
  177.     WTWINDOW_DEFAULT);
  178.  
  179.  /* load test universe */
  180.  GENiface_load("uni2.gen", TRUE);
  181.  
  182.  /* display helpfull information */
  183.  GENiface_printnames();
  184.  
  185.  /* simple example of finding an object */
  186.  object = GENiface_getobject("meguro");
  187.  
  188.  /*more complex example */
  189.  WTviewpoint_addsensor(WTuniverse_getviewpoint(),
  190.     GENiface_getsensor("spaceball1");
  191.  
  192.  /* Start universe */
  193.  WTuniverse_go();
  194.  
  195.  /* Exit WTK */
  196.  WTuniverse_delete();
  197.  return 0;
  198. }
  199.  
  200.  
  201.  Pointers are available to all entities within the environment via the
  202.  object's name defined within Genesis. The GENiface library provides the
  203.  user with many useful routines for controlling the entities loaded via
  204.  the Genesis interface.
  205.  
  206. Example enviroment file created by Genesis:
  207.  
  208. Genesis Version 2.01;
  209.  
  210. // ENVIRONMENT;
  211. enviro bgcolour 0x000;
  212. enviro vposition -97.381714 -22.039515 -48.751019;
  213. enviro vorientation -0.061032 0.196205 0.122790 0.970928;
  214.  
  215.  
  216. // SENSORS;
  217. sensor new mouse1 mvm;
  218. sensor sensitivity mouse1 26.352421;
  219. sensor angularrate mouse1 0.400000;
  220. sensor constrain mouse1 off;
  221.  
  222. sensor new spaceball1 s1vm;
  223. sensor sensitivity spaceball1 26.352421;
  224. sensor angularrate spaceball1 0.400000;
  225. sensor constrain spaceball1 xtrans ytrans zrot
  226.  
  227.  
  228. // OBJECTS;
  229. object load rightarm righta.nff 1.000000;
  230. object position rightarm -189.220718 -26.715002 295.885590;
  231. object orientation rightarm 0.026833 0.516167 0.128153 0.846421;
  232. object pivot rightarm -189.220718 -26.715002 295.885590;
  233. object shading rightarm on;
  234. object visibility rightarm on;
  235.  
  236. object load righthand righth.nff 1.000000;
  237. object position righthand -253.929398 13.254949 183.522705;
  238. object orientation righthand 0.038822 0.495906 0.100072 0.861717;
  239. object pivot righthand -253.929398 13.254949 183.522705;
  240. object shading righthand on;
  241. object visibility righthand on;
  242.  
  243. // HIERARCHYS;
  244. object attach rightarm righthand;
  245.  
  246.  
  247. // LIGHTS;
  248. light ambient 0.200000;
  249.  
  250. light new light1 0.900000 8.185075;
  251. light position light1 -150.639282 -22.241173 -66.450226;
  252. light direction light1 0.000000 0.000000 1.000000;
  253.  
  254.  
  255. // PATHS;
  256. path load path1 path1.pth node.nff f00 0.536656;
  257. path visibility path1 on;
  258. path direction path1 forwards;
  259. path mode path1 toend;
  260. path constraints path1 off;
  261. path speed path1 1;
  262. path play path1 off;
  263.  
  264. end;
  265.  
  266. // Simple text format allows enviroment files to be viewed
  267.    and edited by hand.
  268.  
  269.  
  270.  
  271. The Future
  272.  
  273.  Genesis was originally developed by Virtual Presence Ltd as an in-house
  274.  tool for prototyping client applications. Drawing on over three years'
  275.  experience working with WTK, it embraces the functionality required to
  276.  prepare virtual environments in minimum time - leaving the developer free
  277.  to spend more time on internal simulation functionality. For users whose
  278.  requirement is for visualisation only, it completely removes the need for
  279.  programming skills to produce finished walk- and fly-thoughs
  280.  
  281.  Representing more than two man years' development time Genesis will be
  282.  expanded and updated in response to user feedback.
  283.  
  284.  
  285. For further information and pricing on Genesis please contact
  286. Virtual Presence at:
  287.  
  288. Virtual Presence Ltd.
  289. 25 Corsham St.
  290. London.
  291. N1 6DR.
  292. Tel: +44 (0)71 253 9699
  293. Fax: +44 (0)71 490 8968
  294. e-mail: genesis@presence.demon.co.uk
  295.  
  296. John Hough CEO
  297. Virtual Presence Ltd
  298. 25 Corsham Street
  299. London N1 6DR UK
  300. Tel: +44 (0)71-253-9699
  301. Fax: +44 (0)71-490-8968
  302. e-mail john@presence.demon.co.uk
  303. 'Virtually all ther...'
  304.  
  305. [MODERATOR'S NOTE: Commercial postings are offered on this newsgroup
  306. as a public service.  Their appearance here does not indicate
  307. endorsement by the moderators or by the USENET or its administrators.]
  308.  
  309.  
  310.